<?php
/**
 * PrynLib
 * @copyright 2007-2009 Prynel
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @category libPrynel
 * @package Form
 * @version $Revision: 80 $
 */

/**
 * Représentation des élément a choix multiple (select, radio)
 * @category libPrynel
 * @package Form
 * @subpackage Form_Element
 * @abstract
 * @version 1.0.0 
 * @author Olivier ROGER <roger.olivier@gmail.com>
 * @copyright  2008-2009 Prynel
 *       
 *
 */
abstract class Form_Element_Multi extends Form_Field
{
	
	/**
	 * Liste des choix possible
	 *
	 * @var array
	 * @access protected
	 */
	protected $choix;
	
	/**
	 * Constructeur
	 *
	 * @param string $nom
	 * @param Form_Form $form
	 * @access public
	 */
	public function __construct($nom,$form)
	{
		parent::__construct($nom,$form);
		$this->attrs['name'] = $nom;
	}
	
	/**
	 * Enregistre les choix possibles
	 *
	 * @param array $choix La clé = valeur html du code html , la valeur = valeur afficher à l'utilisateur
	 * @access public
	 * @return Form_Element_Multi
	 */
	public function choices($choix)
	{
		if(is_array($choix))
			$this->choix = $choix;
		else
			throw new Util_ExceptionHandler('Le/les choix doivent être un array');
		return $this;
	}
	
	public function setAttributes($nom,$valeur)
	{
		if(!isset($this->attrs[$nom]))
			$this->attrs[$nom] = $valeur;
	}
}
 ?>